

using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using SpotifyGenNHibernate.EN.Spotify;
using SpotifyGenNHibernate.CAD.Spotify;

namespace SpotifyGenNHibernate.CEN.Spotify
{
        public partial class AlbumCEN
        {
        private IAlbumCAD _IAlbumCAD;

        public AlbumCEN(IAlbumCAD _IAlbumCAD)
        {
                this._IAlbumCAD = _IAlbumCAD;
        }

        public int CrearAlbum (int p_IdAlbum, int p_NumeroPistas, int p_Año, String p_Discografia, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionEN> p_cancion, int p_artista)
        {
                AlbumEN albumEN = null;
                int oid;

                //Initialized AlbumEN
                albumEN = new AlbumEN ();
                albumEN.IdAlbum = p_IdAlbum;
                albumEN.NumeroPistas = p_NumeroPistas;
                albumEN.Año = p_Año;
                albumEN.Discografia = p_Discografia;
                albumEN.Cancion = p_cancion;
                if (p_artista != -1) {
                        albumEN.Artista = new SpotifyGenNHibernate.EN.Spotify.ArtistaEN ();
                        albumEN.Artista.IdArtista = p_artista;
                }
                //Call to AlbumCAD

                oid = _IAlbumCAD.CrearAlbum (albumEN);
                return oid;
        }

        public void BorrarAlbum (int IdAlbum)
        {
                _IAlbumCAD.BorrarAlbum (
                        IdAlbum

                        );
        }

        public AlbumEN ObtenerDatos (int IdAlbum)
        {
                AlbumEN albumEN = null;

                albumEN = _IAlbumCAD.ObtenerDatos (
                        IdAlbum

                        );
                return albumEN;
        }

        public void ModificarDatos (int p_Album_OID, int p_NumeroPistas, int p_Año, String p_Discografia)
        {
                AlbumEN albumEN = null;

                //Initialized AlbumEN
                albumEN = new AlbumEN ();
                albumEN.IdAlbum = p_Album_OID;
                albumEN.NumeroPistas = p_NumeroPistas;
                albumEN.Año = p_Año;
                albumEN.Discografia = p_Discografia;
                //Call to AlbumCAD

                _IAlbumCAD.ModificarDatos (albumEN);
        }
        }
}
